import Vue from 'vue'  //import Vue from "../node_modules/vue/dist/vue.js";因为main.js是在src文件中，所以../向前一级相对目录查找node_modules，再依次寻找后面的文件。文件找到了，那么文件内是否存在Vue呢？
import App from './App.vue' //这句代码的意思就是引入我们写好的.vue文件。（.vue文件是vue框架的单文件组件。）
import router from './router'
//导入要用的element ui的组件导入js
import './plugins/element.js'
// 导入字体图标
import './assets/fonts/iconfont.css'
// 导入全局样式表
import './assets/css/global.css'
import axios from 'axios'//import axios from '..\node_modules\axios\dist\axios.js';和引入vue文件是一样的原理，都是从node_modules中加载相应名称的模块。
import TreeTable from 'vue-table-with-tree-grid'

import echarts from './assets/js/echarts.min.js'
// 导入Nprogress包对应的js css
import Nprogress from 'nprogress'
import 'nprogress/nprogress.css'
// import echarts from 'echarts'

axios.defaults.baseURL = 'http://127.0.0.1:8888/api/private/v1/' //配置请求的根路径

//通过axios请求拦截器添加token,保证拥有获取数据的权限。
//axios请求拦截
// 在request拦截器中，展示进度条 Nprogress.start()
axios.interceptors.request.use(config=>{
  Nprogress.start()
  console.log(config)
  //为请求头对象，添加Token验证的Authorization 字段
  config.headers.Authorization = window.sessionStorage.getItem('token')
  return config
})

// 在response拦截器中，隐藏进度条 Nprogress.done()
axios.interceptors.response.use(config => {
  Nprogress.done()
  return config
})

Vue.prototype.$echarts = echarts
Vue.prototype.$http = axios
Vue.config.productionTip = false

Vue.component('tree-table', TreeTable) 

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

